Conventional disk drives with magnetic media organize data in concentric tracks. The concept of shingled writing is a form of perpendicular magnetic recording and has been proposed as a way of increasing the areal density of magnetic recording. In shingle-written magnetic recording (SMR) media a region (band) of adjacent tracks are written so as to overlap one or more previously written tracks. Unlike conventional tracks, which can be written in any order, the shingled tracks must be written in sequence. The tracks on an SMR disk surface are organized into a plurality of shingled regions (typically called I-regions) which can be written sequentially from an inner diameter (ID) to an outer diameter (OD) or from OD to ID. The number of tracks shingled together in a region is a key performance parameter of shingled-writing. Once written in shingled structure, an individual track cannot be updated in place, because that would overwrite and, thereby, destroy the data in overlapping tracks. Shingle-written data track regions, therefore, from the user's viewpoint are sometimes thought of as append-only logs. To improve the performance of SMR drives, a portion of the media is allocated to a so-called “exception region” (E-region) which is used as staging area for data which will ultimately be written to an I-region. After an I-region is written, updates or deletes to LBAs in the region cannot be written directly, so the old data becomes a virtual hole in the region which is subject to being defragmented to remove the virtual holes and make room for more exceptions in the E-region. The indirection controller hardware and firmware execute this process.
Because a portion of the previously written track is over-written during writing of the adjacent track, SMR heads write a wider path than the final actual track width. Therefore, most of the write path is erased when the overlapping track is subsequently written. These unique aspects of SMR have led to the development of special write heads for SMR.
Address indirection in the shingle-written storage device's internal architecture is useful to emulate existing host interfaces at least to some extent and shield the host from the complexities associated with SMR. Conventionally host file systems use logical block addresses (LBAs) in commands to read and write blocks of data without regard for actual locations (physical block address (PBA)) used internally by the storage device. Hard disk drives have had some level of LBA-PBA indirection for decades that, among other things, allows bad sectors on the disk to be remapped to good sectors that have been reserved for this purpose. Address indirection is typically implemented in the controller portion of the drive's architecture. The controller translates the LBAs in host commands to an internal physical address, or something closer to a physical address.
The conventional LBA-PBA mapping for defects does not need to be changed often. In contrast, in an SMR device the physical block address (PBA) of a logical block address (LBA) can change depending on write-history. For example, background processes such as garbage collection move data sectors from one PBA to another but the LBA stays the same. The indirection system for SMR is a natively dynamic system in which the controller translates host address requests to physical locations. In an SMR system, the LBA-PBA mapping changes with every write operation because the system dynamically determines the physical location on the media where the host data for an LBA will be written. The same LBA will be written to a different location the next time the host LBA is updated. The indirection system provides a dynamic translation layer between host LBAs and the current physical locations on the media.
The architecture of an a SMR drive has complexities that were not present in prior art HDDs, that can include on-disk caching, shingled and unshingled regions, address indirection systems, and defragmentation/reconstitution algorithms. This architecture also has a set of parameters and status/statistical information that are different from those of a conventional HDD. Optimization of these parameters presents a new problem to SMR designers. A certain level optimization can be achieved with the help of experimental data in the design stage and at the manufacturing site, but this optimization is based on certain assumptions of the anticipated workloads and customer preferences that may turn out not to be appropriate for some users and/or applications. Therefore, there is a need to provide for users with performance data and the ability to change parameters for SMR devices in the field. In some cases power or heat restrictions, for example, might require specific parameters changes. Flexibility in setting of parameters allows users to manage their SMR HDD resources. In addition making status/statistical information kept in individual SMR HDDs available allows customers to determine the source/problem causing certain performance issues.
For some applications there are advantages in minimizing the difference in performance between standard HDDs and SMR HDDs; however, SMR HDDs have certain advantages over standard HDDs, such as with sequential writes which a user may wish to exploit.
The E-regions in SMR drives are generally used as a temporary staging area for data. The bulk of the device's storage space is allocated to the shingled I-regions. Typically new write data is temporarily written to an E-region and then a background storage management task is responsible for moving the data to a shingled I-region at an appropriate time. The background storage management task is also responsible for doing defragmentation-type data management. The E-regions are sometimes referred to as E-caches in the literature.
The E-regions and I-regions are concentric circular bands of tracks that extend 360 degrees around the surface of the disk. All of the regions are magnetically formed/written as concentric tracks in generally homogeneous thin film magnetic material on the planar surfaces of the disk.
Various standard command sets have been defined in the prior art for computers to communicate with and control storage devices. Commercial storage devices typically implement commands in addition to the minimum required set for a particular standard. One set of commands is included in the Small Computer System Interface (SCSI), which is a set of standards for physically connecting to and transferring information between computers and peripheral devices. The SCSI standards define commands, protocols, and electrical and optical interfaces. Another standard command set is ATA (also known as IDE). One command in the SCSI standard is SYNCHRONIZE CACHE, which is used to cause the cached write data in RAM to be written to non-volatile disk media.